package de.stefanocke.roo.wicket;

import org.springframework.roo.classpath.details.ClassOrInterfaceTypeDetails;
import org.springframework.roo.model.JavaPackage;

public interface ApplicationService {

	// Finds a class with the given stereotype in the module or some of its
	// dependencies. Supports also inner classes, as long as the containing class has some stereotype.
	ClassOrInterfaceTypeDetails findClassOrInterfaceDetailsWithStereotype(String moduleName, final String stereotype)
			throws ValidationException;

	/**
	 * The web package is the package where the class with the APPLICATION
	 * stereotype is found. If no such class is found, null is returned.
	 * 
	 * @return the web package
	 */
	JavaPackage getWebPackage(String moduleName);

}
